IsolationPointUserInfo 增加用户备注记录,以及用户离开时间。

FFIB 3 ans auparavant
Parent
Commettre
acc71ab5bd
3 fichiers modifiés avec 22 ajouts et 7 suppressions
  1. 18 7
      api/eqpt_views.py
  2. 1 0
      api/point_views.py
  3. 3 0
      equipment/models.py

+ 18 - 7
api/eqpt_views.py

@@ -78,10 +78,16 @@ def eqpt_onoff(request):
78 78
     macid = request.POST.get('macid', '')
79 79
     active = request.POST.get('active', 0)
80 80
 
81
-    ThermometerEquipmentInfo.objects.update_or_create(macid=macid, defaults={
82
-        'active_status': active,
83
-        'active_at': tc.utc_datetime(),
84
-    })
81
+    eqpt = ThermometerEquipmentInfo.objects.get(macid=macid)
82
+    eqpt.active_status = active
83
+    eqpt.active_at = tc.utc_datetime()
84
+    eqpt.save()
85
+
86
+    if active == 0:
87
+        user = IsolationPointUserInfo.objects.get(pk=eqpt.ipui_pk)
88
+        user.status = False
89
+        user.leave_at = tc.utc_datetime()
90
+        user.save()
85 91
 
86 92
     return response()
87 93
 
@@ -91,9 +97,14 @@ def eqpt_remark(request):
91 97
     macid = request.POST.get('macid', '')
92 98
     remark = request.POST.get('remark', '')
93 99
 
94
-    ThermometerEquipmentInfo.objects.update_or_create(macid=macid, defaults={
95
-        'remark': remark,
96
-    })
100
+    eqpt = ThermometerEquipmentInfo.objects.get(macid=macid)
101
+    eqpt.remark = remark
102
+    eqpt.save()
103
+
104
+    # 存放历史备注记录
105
+    user = IsolationPointUserInfo.objects.get(pk=eqpt.ipui_pk)
106
+    user.remark += [remark]
107
+    user.save()
97 108
 
98 109
     return response()
99 110
 

+ 1 - 0
api/point_views.py

@@ -92,6 +92,7 @@ def bind_eqpt(request):
92 92
         return response(IsolationPointStatusCode.ISOLATIONPOINT_USER_NOT_FOUND)
93 93
 
94 94
     ThermometerEquipmentInfo.objects.update_or_create(macid=macid, defaults={
95
+        'point_id': ipui.point_id,
95 96
         'ipui_pk': ipui.pk,
96 97
     })
97 98
 

+ 3 - 0
equipment/models.py

@@ -130,6 +130,9 @@ class IsolationPointUserInfo(BaseModelMixin):
130 130
 
131 131
     fields = JSONField(_('fields'), default=[], blank=True, null=True, help_text='字段信息')
132 132
 
133
+    remark = JSONField(_('remark'), default=[], blank=True, null=True, help_text='备注')
134
+    leave_at = models.DateTimeField(_('leave_at'), blank=True, null=True, help_text=_('离开时间'))
135
+
133 136
     class Meta:
134 137
         verbose_name = _('隔离点用户录入信息')
135 138
         verbose_name_plural = _('隔离点用户录入信息')